﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace Police.Configuration
{
    /// <summary>
    /// Contains informations relatives to specific solution.
    /// </summary>
    [Serializable]
    public sealed class SolutionProject
    {
        /// <summary>
        /// Gets or sets solution's project name.
        /// </summary>
        [XmlAttribute]
        public String Name { get; set; }

        /// <summary>
        /// Gets or sets value that indicate if is necessary 
        /// </summary>
        [XmlAttribute]
        public Boolean Check { get; set; }

        /// <summary>
        /// Gets or sets list of project's assemblies.
        /// </summary>
        [XmlArray(ElementName = "Assemblies")]
        public List<ProjectAssembly> Assemblies { get; set; }

        /// <summary>
        /// Gets or sets list of project's files.
        /// </summary>
        [XmlArray(ElementName = "Files")]
        public List<ProjectFile> Files { get; set; }

        /// <summary>
        /// Gets or sets list of project's directories.
        /// </summary>
        [XmlArray(ElementName = "Directories")]
        public List<ProjectDirectory> Directories { get; set; }
    }
}
